13398088740
拉火速运
联系人:张先生
手 机:13398088740
电 话:13398088740
邮 箱:13398088740@189.cn
官 网:www.lahuoex.com
地 址:西藏拉萨市
拉火速运
联系人:张先生
手 机:13398088740
电 话:13398088740
邮 箱:13398088740@189.cn
官 网:www.lahuoex.com
地 址:西藏拉萨市
原文地址:http://blog.codingnow.com/2006/04/iocp_kqueue_epoll.html
设计 mmo 服务器,我听过许多老生常谈,说起处理大量连接时, select 是多么低效。我们应该换用 iocp (windows), kqueue(freebsd), 或是 epoll(linux) 。的确,处理大量的连接的读写,select 是够低效的。因为 kernel 每次都要对 select 传入的一组 socket 号做轮询,那次在上海,以陈榕的说法讲,这叫鬼子进村策略。一遍遍的询问“鬼子进村了吗?”,“鬼子进村了吗?”... 大量的 cpu 时间都耗了进去。(更过分的是在 windows 上,还有个万恶的 64 限制。)
使用 kqueue 这些,变成了派一些个人去站岗,鬼子来了就可以拿到通知,效率自然高了许多。不过最近我在反思,真的需要以这些为基础搭建服务器吗?